<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form action="">
      用户名：<input type="text" /> 密码：<input type="password" />
      <button>提交</button>
    </form>
  </body>
</html>
<!-- JS的历史脉络：
  1990：  万维网 - `WWW`  - `World Wide Web`，被发明。

  1994：Netscape 成立，同时发布了 自己的 浏览器 -> Navigator - （俗称 浏览器）
    Netscape（又名， `网景`）

  浏览器刚被发明的时候，只能 识别 `html+css代码`，
    可以实现，将 `报纸` 搬 `网络` 上。

      但后续，发现了 html+css代码 的组合，有局限性：
        -> html+css 的表单提交，「表单验证」（必填项 必须填写等验证，不能在本地进行）
          必须将数据提交给后端(服务器)进行必填项的验证....
            -> 上述操作有一个问题：要通过网络，让服务器验证，速度非常慢。

      -> 由此，产生了一个需求：希望 有一门真正的 `计算机语言`，
        在浏览器上对 表单进行一些基本验证。

      -> 由此，网景公司，雇佣了 `Brendan Eich`，用了「10天的时间」，
        发明了 JavaScript 这门语言...
          10天创造一门语言，这么短的时间，会有什么问题？
            -> 可以10时间，有大量的点，没考虑周全...
              即 JS 有很多 「先天的缺陷」。
  


  JS 是「大杂烩」的语言特性：
    基本语法：借鉴 C 语言和 Java 语言。
    数据结构：借鉴 Java 语言，包括将值分成原始值和对象两大类。
    函数的用法：借鉴 Scheme 语言和 Awk 语言，将函数当作第一等公民，并引入闭包。
    原型继承模型：借鉴 Self 语言（Smalltalk 的一种变种）。
    正则表达式：借鉴 Perl 语言。
    字符串和数组处理：借鉴 Python 语言。


  JavsScipt 名字的由来：`网景公司` 将语言命名为 JavaScript的原因：就是希望借 Java 的热度（蹭热点）。
    Sun公司：是 Java 的发明者。
      Java：是后端语言。


  
  JavaScript 又叫做： ECMAScript
    JavaScript：简写 JS
    ECMAScript：简写 ES
      注：ES 就是 JS。

    
  1996年 微软（Micro Soft）抄袭了 JS， - `JScript`，
    更狠的是： 微软在 windows 操作系统了内置了 IE浏览器。
      -> 即 捆绑销售（涉嫌了 垄断...）

      结果：普通的用户，没有必要再单独下载 其他的 浏览器（网景的浏览器）...
        导致：网景 濒临破产...

      那么，网景为了 和 微软对抗，将 JS「开源」，
        开源给 ECMA这个公益组织，所以 JS，又被称为「ES」 即 EcmaScript。
          后续，ECMA 定期 公布 JS的最新的特性（升级方法）。



  JS 的几个大版本：
    1997：ES1
    1998：ES2
    1999：ES3
    ...

    ES4：被废弃了，因为 更新幅度太大（）

    2009：ES5


    ...
    2015：ES6  （强调：ES6 的版本更新非常大）

      注：ES6，后续 ECMA规则， JS  每年都会有新版本，但每年的版本都是 小幅度升级...

    2016：ES7
    2017：ES8
      ...
      注：为了 命名方便，将 后续每年的版本 ，又称作： `ES年代版本`
        比如：ES2023、ES2024..
 -->

<!-- 什么是「开源」：
    即 公布 源代码，任何 程序员都能免费使用，即为「开源」。


  -->
